CAD models are often constructed in a way that makes certain types of subsequent processing, such as the creation of real physical models (e.g., by three-dimensional printing or rapid prototyping) or volume and surface meshes, not possible without manual intervention. Often this can arise because some applications, such as visualization, have less stringent requirements for the CAD model than other applications. CAD models which do not meet the requirements of a given process are often referred to as having defects or invalid geometries. Correcting the defects in CAD models so that they are suitable for the subsequent processing is sometimes termed “fixing” or “healing” the CAD data.
Herein we use the term “CAD model” to mean any conventional boundary representation of a three-dimensional geometry, either through the use of NURBS, polygons or other surface representations.
Examples of invalid geometries include:
(1) Surface mismatch, where the surface patches or polygons which make up the boundary representation create a small gap or overlap at shared edges in the surface (even though they may visually appear to conform). This can occur even when the vertices of the shared edge are the same if the polynomial order of interpolating function differs from patch to patch. Models with this type of invalid geometry are sometimes referred to as not being watertight or closed.
(2) Holes, where the edges and/or vertices of adjacent surface patches or polygons which make up the boundary representation are not shared. Models with this type of invalid geometry are also sometimes referred to as not being watertight or closed.
(3) Shell surfaces, where the model includes one or more surfaces which do not enclose a finite volume, i.e., they simply define a two-dimensional entity in space, with no solid region or thickness. Whilst such a surface can be clearly visualized, it cannot be used for a number of applications, such as generating a rapid prototyped model or a volume mesh, for which a closed model with a finite volume is required.
Another potential problem can be the complexity of CAD models, e.g., CAD models which include many detailed features such as short edges, fillets, etc. Such highly detailed features can present a challenge to generating a mesh for subsequent Computer Aided Engineering (CAE) analysis techniques such as modelling using finite element analysis (FEA) and computational fluid dynamics (CFD) because they introduce additional complexities, e.g., increased processing time and memory usage, more challenging meshing, etc. In many circumstances, the detailed features are not required for analysis purposes, and therefore a solution is to manually remove them from the CAD model. This process is known as “CAD de-featuring”.
A further problem may arise where a CAD model comprises multiple (two or more) interrelated component parts, where each component part is represented by a separate (independent) CAD model. For example, the component parts may make up an assembly which need to be agglomerated or concatenated to form a single CAD model. In one example, the component parts can be an engine block, inlet and exhaust manifolds, and pistons, which together form a car engine assembly. In other examples one of the interrelated component parts can be subtracted from another, e.g., the interrelated component parts can be a model of a femur bone and a reaming tool, whereby the combined CAD model is obtained by subtracting the reaming tool from the bone. For the purposes of further processing, it can be desirable to generate either a single or several new CAD models in which the component part CAD models are combined, e.g., based on Boolean operations (union, intersection, etc.). For example, it can be desirable to analyse air flow over the complete car engine assembly or to perform finite element analysis on bone after the reaming tool is subtracted.
However, the result of the Boolean operations in CAD space may introduce defects in the resulting CAD model due to differences in geometry of surfaces of the component parts which are intended to interact with one another, e.g., by contact, mating, etc. For example, surface patches or polygons which make up the boundary representation at interfaces between components typically will not be perfectly conforming, thereby creating gaps or overlaps. These defects can be a result of the CAD models for the component parts being generated on separate systems, e.g., different CAD programs or on the same system without direct regard to one another. These defects may need to be manually fixed before processing of the new CAD model can take place.
A number of tools exist for addressing the problems either by operating directly on the CAD model or by creating a new CAD model using for example a “shrink wrapping” process. However these approaches can be difficult to use, may require considerable user interaction and may not give desired results. One example of such a tool is CADfix® by International TechneGroup Incorporated.